package de.stefanocke.roo.wicket.base;

import java.util.Map;

import org.springframework.roo.classpath.PhysicalTypeMetadata;
import org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetails;
import org.springframework.roo.model.JavaType;

public class ItdMetadataCreationParams<AV> {

	private String mid;
	private JavaType aspectName;
	private PhysicalTypeMetadata governorPhysicalTypeMetadata;
	private AV annotationValues;
	private Map<String, ClassOrInterfaceTypeDetails> stereotypes;

	public ItdMetadataCreationParams(String mid, JavaType aspectName,
			PhysicalTypeMetadata governorPhysicalTypeMetadata, AV annotationValues,
			Map<String, ClassOrInterfaceTypeDetails> stereotypes) {
		super();
		this.setMid(mid);
		this.setAspectName(aspectName);
		this.setGovernorPhysicalTypeMetadata(governorPhysicalTypeMetadata);
		this.setAnnotationValues(annotationValues);
		this.setStereotypes(stereotypes);
	}

	public String getMid() {
		return mid;
	}

	public void setMid(String mid) {
		this.mid = mid;
	}

	public JavaType getAspectName() {
		return aspectName;
	}

	public void setAspectName(JavaType aspectName) {
		this.aspectName = aspectName;
	}

	public PhysicalTypeMetadata getGovernorPhysicalTypeMetadata() {
		return governorPhysicalTypeMetadata;
	}

	public void setGovernorPhysicalTypeMetadata(PhysicalTypeMetadata governorPhysicalTypeMetadata) {
		this.governorPhysicalTypeMetadata = governorPhysicalTypeMetadata;
	}

	public AV getAnnotationValues() {
		return annotationValues;
	}

	public void setAnnotationValues(AV annotationValues) {
		this.annotationValues = annotationValues;
	}

	public Map<String, ClassOrInterfaceTypeDetails> getStereotypes() {
		return stereotypes;
	}

	public void setStereotypes(Map<String, ClassOrInterfaceTypeDetails> stereotypes) {
		this.stereotypes = stereotypes;
	}

}